Falling clock edge jtag bus routers

ABSTRACT

The disclosure describes a novel method and apparatus for allowing a controller to access a bus router using a communication occurring in response to one edge of a clock to select one or more devices for access using a communication occurring on the opposite edge of the clock. Additional embodiments are also provided and described in the disclosure.

CROSS REFERENCE TO RELATED PATENTS

This application is a divisional of application Ser. No. 12/968,966,filed Dec. 15, 2010, currently pending;

Which claims priority from Provisional Application No. 61/288,055, filedDec. 18, 2009;

FIELD OF THE DISCLOSURE

This disclosure relates generally to circuits used to route busses in asystem and in particular to circuits used to route JTAG (IEEE 1149.1)busses in a system.

BACKGROUND OF THE DISCLOSURE

Most integrated circuit (IC) devices today include a JTAG interfacecomprising TDI, TCK, TMS, TRST, and TDO bus signal terminals. The JTAGinterface on the IC device is used for a myriad of purposes includingbut not limited too; testing purposes, debugging purposes, andprogramming purposes.

FIG. 1 illustrates a prior art arrangement of a serial string of ICdevices 104 on a board 102. Each device 104 includes a JTAG interfacecomprising a control (C) bus of TCK, TMS, and optional TRST signals, aninput (I) bus comprising a TDI signal, and an output (O) bus comprisinga TDO signal. The control (C) bus (TCK, TMS, TRST), input (I) bus (TDI),and output (O) bus (TDO) are coupled to a JTAG test access port (TAP)202 in the device as shown in FIG. 2. The TAP 202 is a well known accessport defined in IEEE standard 1149.1 that operates to shift instructionand data patterns into and from the device 104 according to the statediagram of FIG. 4 and timing diagram of FIG. 5. In FIG. 5, the risingedge of the TCK signal times the operation of the TAP, the TMS signalcontrols the state diagram transitions of the TAP, the TDI signal inputsinstruction or data patterns to the TAP, and the TDO signal outputsinstruction or data patterns from the TAP. The JTAG interface of thedevices 104 are connected in series such that the TAPs 202 of alldevices 104 can be accessed at the same time from a JTAG controller 106,via the control (C) bus, input (I) bus, and output (O) bus.

FIG. 3 illustrates a prior art arrangement of boards 102 in a system302. The boards typically exist in the backplane of the system 302. Theboards 102 are connected in series such that the TAPs of all devices 104on each board 102 can be accessed at the same time from a JTAGcontroller 106, via the control (C) bus, input (I) bus, and output (O)bus.

As can be seen in FIG. 3, serial arrangements of many boards 102 in asystem backplane 302 can problematically extend the access time to thesystem due to the number of serial bits that must be shifted into andfrom each board 102 in the system 302 during each JTAG scan operation.Even more problematic, if a board 102 is removed from the system 302 theserial access connection to the JTAG controller 106 is disabled. Inresponse to these system level JTAG scan access problems, JTAG Routerdevices were developed by National Semiconductor and Texas Instrumentsthat allowed a JTAG controller 106 to directly address and access anindividual board 102 in a system 302.

FIG. 6 illustrates the prior art concept of using a JTAG Router 604 tointerface a JTAG controller 106 to one or more JTAG device strings 606on a board 602. Each device string 606 may contain one or more devices104. In operation, the JTAG controller 106 communicates to the JTAGRouter 604 via bus 608 to address it and load selection control to itthat selects one or more JTAG device strings 606 for access. The JTAGRouter 604 can access one JTAG string 606 for access or it can seriallyconcatenate and access multiple JTAG device strings 606 together foraccess. After the addressing and selection control input step, the JTAGcontroller 106 accesses the selected one or more JTAG device strings 606via the JTAG Router and bus 608.

FIG. 6A is provided to indicate that a device string 606 may containonly one device 104. This will be the case for all device strings 606shown in this disclosure.

FIG. 7 illustrates a prior art arrangement of boards 602 in a system702. The boards 602 typically exist in the backplane of the system 702so they can be easily removed for replacement or repair. The JTAGinterface signals (I, C, O) of each board 602 are connected in parallelsuch that the each board is coupled to the control (C) bus 608 of theJTAG controller, the input (I) bus 608 of the JTAG controller, and theoutput (O) bus 608 of the JTAG controller. In this arrangement the JTAGcontroller can individually address and access any board 602 via theboard's JTAG Router 604 and bus 608.

As can be seen in FIG. 7, the problematic scan access time mentioned inregard to serial JTAG access arrangement of FIG. 3 is eliminated sincethe JTAG controller 106 only performs scan operations to one board 602at a time, via the board's JTAG Router 604. Also as seen in FIG. 7, theboard removal problem mentioned in regard to FIG. 3 is eliminated sinceany remaining system boards 602 can be directly addressed and accessedby the JTAG controller 106, via the board's JTAG Router 604.

FIG. 8 illustrates a view of a prior art JTAG Router 802 produced byNational Semiconductor and referred to as ScanBridge™. The ScanBridge802 operates to address and select JTAG device strings 606 on boards 602as described generally in the conceptual JTAG Router descriptions ofFIGS. 6 and 7.

FIG. 9 illustrates the ScanBridge circuit 802 in more detail. TheScanBridge includes a Routing Circuit 902 and a JTAG TAP circuit 904.The JTAG TAP circuit 904 has a first set of TDI, TCK, TMS and TDOsignals that are coupled to the JTAG controller bus 608, a second set ofTDI, TCK, TMS, and TDO signals 910 that are coupled to the RoutingCircuit 902, and control (CTL) outputs 912 that are coupled to theRouting Circuit 902. The JTAG TAP circuit 904 contains addressingcircuitry that can be loaded by the JTAG controller 106 via bus 608 toaddress the board 602 and routing control circuitry that can be loadedby the JTAG controller via bus 608 to select one or more JTAG devicestrings 606 on the board for access. In response to the control (CTL)outputs 912 from the JTAG TAP circuit 904, the Routing Circuit 902selectively couples the TDI, TCK, TMS, and TDO signals 910 from the JTAGTAP 904 to a selected TDI, TCK, TMS, and TDO signal group 906 that iscoupled to a JTAG device string 606. The Routing Circuit 902 may alsoconcatenate multiple JTAG device strings together and couple them to theTDI, TCK, TMS, and TDO signals 910 from the JTAG controller 904 inresponse to the control (CTL) outputs 912 so that they can be accessedtogether.

FIG. 10 illustrates the process of using JTAG scan operations 1002 toaccess a selected JTAG device string 606 on a board 602. Since theScanBridge's JTAG TAP circuit 904 lies in series between the JTAGcontroller 106 and the selected JTAG device string 606, each JTAG scanoperation 1002 to the selected JTAG device string 606 must be augmentedwith instruction and data patterns for the ScanBridge JTAG TAP circuit904. Having to augment each JTAG scan operation 1002 with additionalinstruction and data patterns for the “in series” JTAG TAP circuit 904is problematic since it lengthens the access time to the selected JTAGdevice string 606 and requires modifying the existing JTAG pattern setof the devices in the JTAG device string 606.

FIG. 11 illustrates a view of a prior art JTAG Router 1102 produced byTexas Instruments and referred to as a linking Addressable Scan Port(ASP). The ASP 1102 operates to address and select JTAG device scanstrings 606 on boards 602 as described generally in the conceptual JTAGRouter descriptions of FIGS. 6 and 7.

FIG. 12 illustrates the ASP circuit 1102 in more detail. The ASPincludes a Routing Circuit 1202 and a Shadow Protocol Controller 1204.The Shadow Protocol Controller 1204 has a set of TDI, TCK, TMS and TDOsignals that are coupled to the JTAG controller bus 608, and control(CTL) outputs 1206 that are coupled to the Routing Circuit 1202. TheShadow Protocol Controller 1204 contains addressing circuitry that canbe loaded by the JTAG controller 106 via bus 608 to address the board602 and routing control circuitry that can be loaded by the JTAGcontroller via bus 608 to select one or more JTAG device strings 606 onthe board for access. In response to the control (CTL) outputs 1206 fromthe Shadow Protocol Controller 1204, the Routing Circuit 1202selectively couples the TDI, TCK, TMS, and TDO signals 608 from the JTAGcontroller 106 to a selected TDI, TCK, TMS, and TDO signal group 906that is coupled to a JTAG device string 606. The Routing Circuit 1202may also concatenate multiple JTAG device strings together and couplethem to the TDI, TCK, TMS, and TDO bus signals 608 from the JTAGcontroller 106 in response to the control (CTL) outputs 1206 so thatthey can be accessed together.

As seen, the Shadow Protocol Controller 1204 does not exist in series inbus 608 between the JTAG controller 106 and the Routing Circuit 1202,but is simply coupled to bus 608. The JTAG controller 106 communicatesto the Shadow Protocol Controller 1204 using Shadow Protocol Messages toload board address and device string selection information during timeswhen JTAG bus operations are inactive in the Run Test/Idle, Pause-DR andPause-IR states of FIG. 4.

FIG. 13 illustrates the process of using Shadow Protocol Messages 1302and 1304 to access a selected JTAG device string 606 on a board 602.When JTAG bus operations are inactive in one of the states mentionedabove, the JTAG controller 106 inputs a Shadow Protocol Message request1302 to the Shadow Protocol Controller 1204 that contains the boardaddress and device string selection information. In response to therequest 1302, the Shadow Protocol Controller 1204 outputs a ShadowProtocol Message acknowledge 1304 to the JTAG controller 106 to confirmthe address and selection information, then connects the selected devicestring 606 to the JTAG controller 106 via bus 608. Following the connectoperation, the JTAG controller 106 performs JTAG scan operations 1306 toaccess the selected device string 606. As can be seen, the JTAG scanoperations 1306 only include instruction and data patterns required bythe devices in the selected device string 606. Thus the ASP 1102 doesnot lengthen the access time to the selected JTAG device string 606 anddoes not require modifying the existing JTAG pattern set of the devicesin the JTAG device string 606, as does the ScanBridge 802. However, theShadow Protocol Messages 1302 and 1304 are based on Manchester-likeencoding and decoding, which requires the Shadow Protocol Controller1204 to be fairly complex which adds to the cost of the ASP device 1102.

BRIEF SUMMARY OF THE DISCLOSURE

This disclosure describes a method and apparatus for allowing a JTAGcontroller to access JTAG device strings on a board or other substrateusing a simplified JTAG Router device that operates on the falling edgeof the JTAG TCK signal.

BRIEF DESCRIPTION OF THE VIEWS OF THE DRAWINGS

FIG. 1 illustrates a conventional arrangement of IC devices on a boardconnected to a JTAG controller.

FIG. 2 illustrate a conventional IC device having a JTAG TAP interface.

FIG. 3 illustrates a conventional arrangement of boards in a systemserially connected to a JTAG controller.

FIG. 4 illustrates a conventional JTAG TAP state diagram.

FIG. 5 illustrates a timing diagram of a conventional TAP interface.

FIG. 6 illustrates a conventional arrangement of strings of IC deviceson a board connectable to a JTAG controller via a JTAG router.

FIG. 6A illustrates a conventional arrangement of a string of one ICDevice on a board connectable to a JTAG controller via a JTAG router.

FIG. 7 illustrates a conventional arrangement of boards in a system,each being selectively connected to a JTAG controller.

FIG. 8 illustrates a conventional arrangement of strings of one or moreIC devices on a board connectable to a JTAG controller via a NationalSemiconductor ScanBridge™ JTAG router.

FIG. 9 illustrates a view of the National Semiconductor ScanBridge™ JTAGrouter.

FIG. 10 illustrates the operation of the National SemiconductorScanBridge™ JTAG router.

FIG. 11 illustrates a conventional arrangement of strings of one or moreIC devices on a board connectable to a JTAG controller via a TexasInstruments Addressable Scan Port (ASP) JTAG router.

FIG. 12 illustrates a view of the Texas Instruments Addressable ScanPort (ASP) JTAG router.

FIG. 13 illustrates the operation of the Texas Instruments AddressableScan Port (ASP) JTAG router.

FIG. 14 illustrates an arrangement of strings of one or more IC deviceson a board connectable to a JTAG controller via the Falling Edge Router(FER) according to the disclosure.

FIG. 15 illustrates a view of the Falling Edge Router according to thedisclosure.

FIG. 16 illustrates the operation of the Falling Edge Router accordingto the disclosure.

FIG. 17 illustrates one preferred, but not limited to, exampleembodiment of the Falling Edge Router of FIG. 16 according to thedisclosure.

FIG. 18 illustrates one preferred, but not limited to, embodiment of theFalling Edge Controller of the FIG. 17 Falling Edge Router according tothe disclosure.

FIG. 19 illustrates one preferred, but not limited to, exampleembodiment of the Address Circuit of the Falling Edge Controller of FIG.18 according to the disclosure.

FIG. 20 illustrates one preferred, but not limited to, example of thestate diagram of the Controller of the Falling Edge Controller of FIG.18 according to the disclosure.

FIG. 21 illustrates one preferred, but not limited to, exampleembodiment of the Routing Circuit of the Falling Edge Controller of FIG.17 according to the disclosure.

FIG. 23 illustrates one preferred, but not limited to, example of theoperational states and timing of the Routers and TAP domains of FIG. 17according to the disclosure.

FIG. 24 illustrates a system comprising Falling Edge Router equippedsub-systems coupled to a JTAG controller according to the disclosure.

FIG. 25 illustrates a system comprising groups of Falling Edge Routerequipped sub-systems coupled to a JTAG controller via a PartitioningFalling Edge Router according to the disclosure.

FIG. 26 illustrates one preferred, but not limited to, exampleembodiment of the Partitioning Falling Edge Router of FIG. 25 accordingto the disclosure.

FIG. 27 illustrates one preferred, but not limited to, example of theoperational states and timing of the Routers and TAP domains of FIG. 25according to the disclosure.

FIG. 28 illustrates a system comprising groups of one or more FallingEdge Router equipped sub-systems coupled to a JTAG controller via ahierarchy of Partitioning Falling Edge Routers according to thedisclosure.

FIG. 29 illustrates a system comprising groups of one or more FallingEdge Router equipped sub-systems coupled to a JTAG controller eitherdirectly or via an intervening Partitioning Falling Edge Routeraccording to the disclosure.

FIG. 30 illustrates a system comprising strings of one or more deviceseach containing Rising and Falling Edge Circuitry coupled to a JTAGcontroller via a Partitioning Falling Edge Router according to thedisclosure.

FIG. 31 illustrates an example of a device containing Rising and FallingEdge Circuitry according to the disclosure.

FIG. 32 illustrates a system comprising multiple FIG. 30 systems coupledto a JTAG controller according to the disclosure.

FIG. 33 illustrates a system comprising multiple groups of FIG. 30systems coupled to a JTAG controller via a Partitioning Falling EdgeController according to the disclosure.

FIG. 34 illustrates a device comprising a JTAG TAP domain, a first coreTAP domain, and a second core TAP domain coupled to a JTAG controllervia a Falling Edge Router according to the disclosure.

FIG. 35 illustrates a system comprising multiple FIG. 34 devices coupledto a JTAG controller according to the disclosure.

FIG. 36 illustrates a system comprising multiple groups of FIG. 34devices coupled to a JTAG controller via a Partitioning Falling EdgeRouter according to the disclosure.

FIG. 37 illustrates a device comprising a JTAG TAP domain, a first coreTAP domain, and a second core TAP domain coupled to a JTAG controllervia a Partitioning Falling Edge Router according to the disclosure.

FIG. 38 illustrates an example of a modified TAP circuit domaincontaining Rising and Falling Edge Circuitry according to thedisclosure.

FIG. 39 illustrates a system comprising multiple FIG. 37 devices coupledto a JTAG controller according to the disclosure.

FIG. 40 illustrates a system comprising multiple groups of FIG. 37devices coupled to a JTAG controller via a Partitioning Falling EdgeRouter according to the disclosure.

FIG. 41 illustrates a view of a Configurable Falling Edge Routeraccording to the disclosure.

FIG. 42 illustrates the shift and update registers of the Falling EdgeController of FIG. 41 according to the disclosure.

FIG. 43 illustrates a system comprising multiple devices or devicestrings coupled to a JTAG controller via the Configurable Falling EdgeRouter of FIG. 41 according to the disclosure.

FIG. 44 illustrates a further system comprising multiple FIG. 43 systemscoupled to a JTAG controller via the Configurable Falling Edge Router ofFIG. 41 according to the disclosure.

FIG. 45 illustrates equal length shift registers of multiple FallingEdge Routers coupled to the TDI signal output from a JTAG controlleraccording to the disclosure.

FIG. 46 illustrates equal length shift registers of multiplePartitioning Falling Edge Routers and multiple Falling Edge Routerscoupled to the TDI signal output from a JTAG controller according to thedisclosure.

FIG. 47 illustrates a system comprising multiple Active Edge Portscoupled to a Port controller via an Inactive Edge Router according tothe disclosure.

FIG. 48 illustrates a further system comprising multiple FIG. 47 systemscoupled to a Port controller via a Partitioning Inactive Edge Routeraccording to the disclosure.

FIG. 49A illustrates an example implementation of an Inactive EdgeRouter according to the disclosure.

FIG. 49B illustrates an example implementation of a PartitioningInactive Edge Router according to the disclosure.

FIG. 49C illustrates an example implementation of a ConfigurableInactive Edge Router according to the disclosure.

DETAILED DESCRIPTION OF THE DISCLOSURE

FIG. 14 illustrates a view of a falling edge bus router 1402, hereafterreferred to as a Falling Edge Router (FER), that operates to couple aJTAG controller 106 to a string 606 of one or more IC devices (D) on aboard embodiment 602, according to the present disclosure. The FER 1402operates on the falling edge of the TCK to address and select IC devicestrings 606 on the board 602.

It should be understood that while the embodiment 602 of FIG. 14 isdescribed as being a board with IC device strings 606, the embodiment602 could also be an IC with strings 606 of one or more embedded corecircuit devices or a core circuit with strings 606 of one or morefurther embedded core circuit devices. This will be the case for othersimilar example figures in this disclosure.

FIG. 15 illustrates the FER circuit 1402 in more detail. The FERincludes a Routing Circuit 1502 and a Falling Edge Controller 1404. TheFalling Edge Controller 1404 has a set of TDI, TCK, TMS and TDO signalsthat are coupled to the JTAG controller bus 608, and control (CTL)outputs 1406 that are coupled to the Routing Circuit 1402. The FallingEdge Controller 1404 contains addressing circuitry that can be loaded bythe JTAG controller 106 via bus 608 to address the board 602 and routingcontrol circuitry that can be loaded by the JTAG controller via bus 608to select one or more JTAG device strings 606 on the board for access.In response to the control (CTL) outputs 1406 from the Falling EdgeController 1404, the Routing Circuit 1402 selectively couples the TDI,TCK, TMS, and TDO signals 608 from the JTAG controller 106 to a selectedTDI, TCK, TMS, and TDO signal group 906 that is coupled to a JTAG devicestring 606. The Routing Circuit 1402 may also concatenate multiple JTAGdevice strings together and couple them to the TDI, TCK, TMS, and TDObus signals 608 from the JTAG controller 106 in response to the control(CTL) outputs 1406 so that they can be accessed together.

As seen, the Falling Edge Controller 1404, like the Shadow ProtocolController 1204 of ASP 1102, does not exist in series in bus 608 betweenthe JTAG controller 106 and the Routing Circuit 1402, but is simplycoupled to bus 608. The JTAG controller 106 communicates to the FallingEdge Controller 1404 using simple falling TCK edge scan operations toload board address and device string selection information during timeswhen JTAG bus operations are inactive in the Run Test/Idle, Pause-DR andPause-IR states of FIG. 4.

FIG. 16 illustrates the process of using a falling TCK edge scanoperation 1602 from a JTAG controller 106 to access a selected JTAGdevice string 606 on a board 602. When JTAG bus operations are inactivein one of the states mentioned above, the JTAG controller 106 performsthe falling edge scan operation 1602 to input board address and devicestring selection information to the Falling Edge Controller 1404 of FER1402. In response to the falling edge scan operation 1602, the FallingEdge Controller 1404 outputs control (CTL) 1406 to routing circuit 1502of FER 1402 to connect the selected device string 606 to the JTAGcontroller 106 via bus 608. Following the connect operation, the JTAGcontroller 106 performs rising TCK edge JTAG scan operations 1604 toaccess the selected device string 606.

As can be seen, the rising TCK edge JTAG scan operations 1604 onlyinclude instruction and data patterns required by the devices in theselected device string 606. Thus the FER 1402, like the ASP 1102, doesnot lengthen the access time to the selected JTAG device string 606 anddoes not require modifying the existing JTAG pattern set of the devicesin the JTAG device string 606, as does the ScanBridge 802. Furthermore,since the FER 1402 uses simple falling TCK edge scan operations toaddress and select a device string 606, the Falling Edge Controller 1404of the FER 1402 is an extremely simple circuit compared to the ASP'sShadow Protocol Controller 1204, which reduces the cost of the FERdevice 1402.

FIG. 17 illustrates one example implementation of FER 1402 according tothe present disclosure. However, the disclosure is not limited to onlythis one implementation example of FER 1402. In this one example, theFER comprises the Falling Edge Controller 1404, the Routing Circuit1502, a TDO output buffer 1702, and a multiplexer 1704, all connected asshown.

The Falling Edge Controller 1404 has inputs for inputting the TDI, TCK,TMS and optional TRST signals from a JTAG controller 106, via bus 608,and optional external Address signals. The Falling Edge Controller 1404has outputs for outputting a TDO signal 1708 to multiplexer 1704, aShift signal to multiplexer 1704, an enable (ENA) signal to TDO buffer1702 and Routing Circuit 1502, select (SEL) signals to Routing Circuit1502, and a TRST output signal to devices in JTAG device strings 606.The ENA and SEL signals on control (CTL) bus 1406 of FIG. 15.

The Routing Circuit 1402 has inputs for inputting the TDI, TCK, and TMSsignals from bus 608, the SEL and ENA signals from the Falling EdgeController 1404, a TDOa signal of a bus 906 of a first device string606, and a TDOb signal of a bus 906 of a second device string 606. TheRouting Circuit has outputs for outputting TDIa, TCKa, TMSa signals ofthe bus 906 of the first device sting 606, TDIb, TCKb, TMSb signals ofthe bus 906 of the second device sting 906, and a TDO signal 1710 tomultiplexer 1704.

Multiplexer 1704 inputs TDO signals 1708 and 1710 and outputs theselected TDO signal to the TDO signal of bus 608 via buffer 1702. TheShift input controls which TDO input signal 1708 or 1710 is selected tobe output on the TDO signal of bus 608.

While JTAG operations on bus 608 are inactive in the TAP statesmentioned above, the Falling Edge Controller 1404 responds to the TMSinput on the falling edge of the TCK input to input new address anddevice string select information on the TDI input and output existingaddress and device string select information on the TDO output 1708. Ifthe address data input on TDI matches the address of the Falling EdgeController 1404, the ENA signal is asserted to enable the TDO outputbuffer 1702 and the Routing Circuit 1402. While the ENA signal isasserted, the Routing Circuit 1402 responds to the select (SEL) signalsfrom the Falling Edge Controller 1404 to couple bus 608 to a selectedone or more device string 606 buses 906. If the address data input onTDI does not match the address of the Falling Edge Controller 1404, theENA signal is not asserted and the TDO buffer and Routing Circuit arenot enabled.

FIG. 18 illustrates one example implementation of the Falling EdgeController (FEC) 1404 according to the present disclosure. However, thedisclosure is not limited to only this one implementation example of FEC1404. In this one example, the FEC comprises a controller 1802, a shiftregister 1804, an update register 1806, an address circuit 1808, and TCKinverter 1810, all connected as shown.

The controller 1802 has inputs for inputting the inverted TCK signalfrom bus 608, the TMS signal from bus 608, and the optional TRST inputsignal from bus 608. The controller 1802 has outputs for outputtingshift register control 1812, update register control 1814, the TRSToutput signal, and the Shift signal.

The shift register 1804 has inputs for inputting the TDI signal, thecontrol signals 1812 from controller 1802, the address and select (SEL)signals 1818 from the update register 1806 and has outputs foroutputting address and select (SEL) signals 1816 to update register 1806and for outputting data to TDO 1708.

The update register 1806 has inputs for inputting the address and selectsignals 1816 from shift register 1804, the control signals 1814 fromcontroller 1802, the TRST output signal from controller 1802, and hasoutputs for outputting the address and select (SEL) signals 1816 fromshift register 1804.

The address circuit 1808 has inputs for inputting the address signalsfrom update register 1806 and has an output for outputting the ENAsignal. The address circuit 1808 may have additional inputs foroptionally inputting a desired unique externally supplied address, asshown in dotted line.

FIG. 19 illustrates one example implementation of the address circuit1808 according to the present disclosure which comprises an addresscomparator 1902 and optionally an internally supplied address circuit1904. Preferably, the internally supplied address circuit 1904 iscircuit that can be programmed or otherwise set to a desired uniqueaddress. The address comparator 1902 compares the address input from theupdate register 1806 to the address from the internally supplied addresscircuit 1904. If the addresses match the ENA signal is asserted. If theaddresses do not match the ENA signal is not asserted. As seen in FIG.19, the internally supplied address may be replaced with the externallysupplied address if desired. If an externally supplied address is usedthe internally supplied address circuit 1904 can be removed from theaddress circuit 1808.

FIG. 20 illustrates one example state diagram depicting the operation ofcontroller 1802 comprising a Reset state, an Idle state, a Capturestate, a Shift state, and an Update state. The controller 1802transitions through these states in response the logic state of the TMSsignal on the falling edge of the TCK signal. The controller 1802 willbe transition to the Reset state if the optional TRST input signal isasserted or after a certain number of logic 1's have been input on theTMS signal.

In the Reset state, the TRST output from the controller is set low. Thecontroller remains in the Reset state while TMS is high. In response toa low on the TRST output, the update register 1806 is reset to anaddress that does not match the address of the address circuit 1808.Also in response to the low on the TRST output, TAPs 202 of devices 104on a board are placed in the Test Logic Reset state of FIG. 4. When TMSgoes low, the controller transitions from the Reset state to the Idlestate.

In the Idle state, the TRST output from the controller 1802 is set highto remove the reset condition from the update register 1806 and deviceTAPs 202. The controller remains in the Idle state while TMS is low.While in the Idle state, the controller 1802 does not output shiftregister or update register control on buses 1812 and 1814. Thecontroller transitions from the Idle state to the Capture state when TMSgoes high.

In the Capture state, the controller 1802 outputs control to the shiftregister 1804 on bus 1812 to cause the shift register to capture theaddress and select information output from the update register 1806 onbus 1818. The controller transitions from the Capture state to the Shiftstate if TMS is low or transitions to the Reset state if TMS is high.

In the Shift state, the controller 1802 outputs control to the shiftregister on bus 1812 to cause the shift register to shift input datafrom the TDI input and shift output data to the TDO output 1708. Thecontroller remains in the shift State while TMS is low and transitionsto the Update state when TMS goes high. The data shifted in on TDI isthe new address and select information to be updated to update register1806 and the data shifted out on TDO is the current address and selectinformation contained in the update register 1806. If the FER's FallingEdge Controller 1404 is not currently addressed or has been reset, theENA output signal from the Address Circuit 1808 will not be asserted toenable the Routing Circuit 1502 or TDO output buffer 1702 signal. Inthis condition, the address and selection information on the TDO output1708 will not be output on the TDO signal of bus 608 since the output ofTDO buffer 1702 is tri-state. If the FER's Falling Edge Controller 1404is currently addressed the ENA signal will be asserted to enable TDObuffer 1702 to output the address and selection information from TDO1708 to the TDO signal of bus 608.

In the Update state, the controller 1802 outputs control to the updateregister 1806 on bus 1814 to cause the update register to load theaddress and select information on bus 1816 that was shifted into theshift register 1804 during the Shift state. From the Update state, thecontroller 1802 transitions back to the Idle state to wait for the nextcapture, shift and update operation.

As seen in the state diagram of FIG. 20, the controller 1802 willtransition to the Reset state from any other state if the TMS signal isset high for a number of falling edge TCK inputs.

FIG. 21 illustrates one example implementation of Routing Circuit 1502according to the present disclosure. However, the disclosure is notlimited to only this one implementation example of Routing Circuit 1502.In this example, the Routing Circuit comprises; (1) a multiplexer 2102for coupling TDI or TDOb to TDIa in response to a Select1 signal, (2) agate 2104 for coupling TCK to TCKa in response to an Enable1 signal, (3)a gate 2106 for coupling TMS to TMSa in response to the Enable1 signal,(4) a multiplexer 2108 for coupling TDI or TDOa to TDIb in response to aSelect2 signal, (5) a gate 2110 for coupling TCK to TCKb in response toan Enable2 signal, (6) a gate 2112 for coupling TMS to TMSb in responseto the Enable 2 signal, (7) a multiplexer 2114 for coupling TDOa or TDObto TDO 1710 in response to a Select3 signal, and a decode circuit 2116having inputs for the SEL and ENA signals and outputs for the Enable1,Enable2, Select1, Select2, and Select3 signals. While this example showsgating both the TCKa and TMSa signals, gating of only the TCKa signal oronly the TMSa signal may be used. Likewise gating of only the TCKbsignal or only the TMSb signal may be used.

While the Routing Circuit 1502 of FIG. 21 is shown to couple bus 608 toa selected device string bus 906 using gating and multiplexing circuits,registration circuitry can be incorporated in the Routing Circuit 1502to allow pipelining of the data (TDI and TDO) and control (TMS) signalsbetween coupled buses.

FIG. 22 illustrates the operation of the decode circuit 2116 in responseto the SEL and ENA signals from Falling Edge Controller 1404.

If ENA is low the TCKa and/or TMSa signals are set low by the Enable1signal and the TCKb and/or TMSb signals are set low by the Enable2signal. In this condition access to the device strings 606 coupled tobus “a” 906 and bus “b 906 is disabled.

If ENA is high and SEL is set to a first pattern (00) TDI is coupled toTDIa by Select1, TCK is coupled to TCKa by Enable1, TMS is coupled toTMSa by Enable1, TDOa is coupled to TDO 1710 by Select3, and TCKb andTMSb are set low by Enable2. In this condition access to the devicestring 606 coupled to bus “a” 906 is enabled and access to the devicestring 606 coupled to bus “b” 906 is disabled.

If ENA is high and SEL is set to a second pattern (01) TDI is coupled toTDIb by Select2, TCK is coupled to TCKb by Enable2, TMS is coupled toTMSb by Enable2, TDOb is coupled to TDO 1710 by Select3, and TCKa andTMSa are set low by Enable1. In this condition access to the devicestring 606 coupled to bus “b” 906 is enabled and access to the devicestring 606 coupled to bus “a” 906 is disabled.

If ENA is high and SEL is set to a third pattern (10) TDI is coupled toTDIa by Select1, TCK is coupled to TCKa and TCKb by Enable1 and Enable2,TMS is coupled to TMSa and TMSb by Enable1 and Enable2, TDOa is coupledto TDIb by Select2, and TDOb is coupled to TDO 1710 by Select3. In thiscondition access to both device strings 606 coupled to buses “a” and “b”906 are enabled and placed in a serial arrangement, with device string606 of bus “a” 906 being the first device string 606 in the serialarrangement.

If ENA is high and SEL is set to a fourth pattern (11) TDI is coupled toTDIb by Select2, TCK is coupled to TCKa and TCKb by Enable1 and Enable2,TMS is coupled to TMSa and TMSb by Enable1 and Enable2, TDOb is coupledto TDIa by Select1, and TDOa is coupled to TDO 1710 by Select3. In thiscondition access to both device strings 606 coupled to buses “a” and “b”906 are enabled and placed in a serial arrangement, with device string606 of bus “b” 906 being the first device string 606 in the serialarrangement.

FIG. 23 is provided to illustrate the operational states and timing ofthe FER 1402 and the device TAPs (DT) 202 in device string domains 606of FIG. 14. The operational states consist of; (1) a state 2302 whereboth the FER 1402 and DTs 202 are in a reset state (DTs in the TestLogic Reset state of FIG. 4 and the FER in the Reset state of FIG. 20)in response to the TRST signal or logic values input on TMS, (2) a state2304 where both the FER 1402 and the DTs 202 are in an idle state (DTsin the Run Test/Idle, Pause-DR or Pause-IR state of FIG. 4 and the FERin the Idle state of FIG. 20) in response to logic values input on TMS,(3) a state 2306 where communication occurs to the FER 1402 while theDTs are idle in response to logic values input on TMS, and (4) a state2308 where communication occurs to the DTs 202 while the FER is idle inresponse to logic values input on TMS.

Timing diagram 2310 illustrates that logic values input on TMS,indicated by darkened time slots, during the rising and falling edges ofTCK in state 2304 maintain the FER 1402 and DTs 202 in idle state 2304.In the idle state 2304, no data input or data output occurs on TDI andTDO respectively, also indicated by darkened fill in timing diagram2310.

Timing diagram 2312 illustrates that logic values input on TMS (notdarkened) during the falling edge of TCK in state 2306 enables the FER1402 to input data from TDI and output data on TDO, while idle values onTMS (darkened) are input during the rising edge of TCK in state 2306 tomaintain the DTs 202 in an idle state.

Timing diagram 2314 illustrates that logic values input on TMS (notdarkened) during the rising edge of TCK in state 2308 enables the DTs202 to input data from TDI and output data on TDO, while idle values onTMS (darkened) are input during the falling edge of TCK in state 2308 tomaintain the FER 1402 in the idle state.

FIG. 24 illustrates an example system 2402 comprising multiple boards602 a-602 b. Each board contains a FER 1402 coupled to JTAG devicestrings 606. The TDI input signal of the FERs of boards 602 a and 602 bare connected together and to a TDI output signal from a JTAG controller106 via bus 608. The TCK input signal of the FERs of boards 602 a and602 b are connected together and to a TCK output signal from the JTAGcontroller 106 via bus 608. The TMS input signal of the FERs of boards602 a and 602 b are connected together and to a TMS output signal fromthe JTAG controller 106 via bus 608. The TDO output signal of the FERsof boards 602 a and 602 b are connected together and to a TDO inputsignal to the JTAG controller 106 via bus 608. While not shown the FERsof boards 602 a and 602 b may each include optional TRST input signalswhich are connected together and to a TRST output signal from the JTAGcontroller 106 via bus 608. Each FER 1402 is addressable by a uniqueinternally or externally supplied address, as describe in FIGS. 18-20.

It should be understood that while the system 2402 of FIG. 24 isdescribed as being a system containing multiple FER 1402 equipped boards602 a-602 b, the system 2402 could also be any type of higher levelelectrical system containing multiple FER 1402 equipped lower levelelectrical subsystems 602 a-602 b, such as an IC containing multiple FER1402 equipped embedded core circuits 602 a-602 b or a core circuitcontaining multiple FER 1402 equipped further embedded core circuits 602a-602 b. This will be the case in other similar example figures of thisdisclosure.

When the JTAG controller 106 needs to access a JTAG device string 606 ona first one of the boards 602 a-602 b, it performs a first falling edgescan operation, as described in regard to FIGS. 18-20, to the FERs 1402of boards 602 a-602 b. The first falling edge scan operation loadsaddress and device string selection information into the updateregisters 1806 of each FER 1402. The FER that has an address thatmatches the address loaded into the update register 1806 becomes enabledto allow the JTAG controller 106 to access the selected JTAG devicestring 606 of the enabled FER 1402 using JTAG scan operations.

When the JTAG controller 106 needs to access a JTAG device string 606 ona second one of the boards 602 a-602 b, it performs a second fallingedge scan operation, as described in regard to FIGS. 18-20, to the FERs1402 of boards 602 a-602 b. The second falling edge scan operation loadsaddress and device string selection information into the updateregisters 1806 of each FER 1402. The FER 1402 having an address thatmatches the address loaded into the update register 1806 becomes enabledto allow the JTAG controller 106 to access the selected JTAG devicestring 606 of the enabled FER 1402 using JTAG scan operations.

When the JTAG controller 106 needs to access a JTAG device string 606 ona third one of the boards 602 a-602 b, it performs a third falling edgescan operation, as described in regard to FIGS. 18-20, to the FERs 1402of boards 602 a-602 b. The third falling edge scan operation loadsaddress and device string selection information into the updateregisters 1806 of each FER 1402. The FER 1402 having an address thatmatches the address loaded into the update register 1806 becomes enabledto allow the JTAG controller 106 to access the selected JTAG devicestring 606 of the enabled FER 1402 using JTAG scan operations.

Assuming that prior to the first falling edge scan operation mentionedabove none of the Routers 1402 were enabled, the first falling edge scanoperation would input new address and selection information to the shiftregisters 1804 of all Routers 1402 from TDI but none of the Routers 1402would be able to output their existing address and selection informationfrom their shift register 1804 on TDO. This is because the ENA signal ofthe Falling Edge Controllers 1404 of each Router 1402 is not asserted toenable the Router's TDO output buffer 1702, as described in regard toFIG. 17-20.

During the second falling edge scan operation mentioned above, allRouters 1402 will input new address and select information from TDI andthe Router enabled by the first falling edge scan operation will outputits existing address and selection information on TDO, since its ENAsignal was asserted following the first falling edge scan operation.

During the third falling edge scan operation mentioned above, allRouters 1402 will input new address and select information from TDI andthe Router enabled by the second falling edge scan operation will outputits existing address and selection information on TDO, since its ENAsignal was asserted following the second falling edge scan operation.

From the above it is seen that each falling edge scan operation, exceptfor the first one, inputs new address and selection information to allRouters 1402 from the JTAG controller 106 while the currently enabledRouter 1402 outputs its existing address and selection information tothe JTAG controller 106. Thus each time the JTAG controller performs afalling edge scan operation it can inspect the address and selectioninformation it receives on TDO to verify that the address and selectioninformation received was from a currently enabled Router 1402.

In FIG. 24, if the system 2402 contains a reasonable number of boards602 a-602 b the JTAG controller 106 can operate bus 608 to access theselected board at a reasonable communication bandwidth. However if alarge number of boards 602 a-602 b exists in system 2402, excessiveloading will occur on bus 608, due to the large number of FERs 1402connected to bus 608. This excessive loading will reduce thecommunication bandwidth between the JTAG controller 106 and selectedboard to unacceptable levels. A solution to the bus 608 loading problemis described in FIGS. 25 and 26 below.

FIG. 25 illustrates an example system 2502 comprising multiple boards602 a-602 c arranged in separate board groups 2504-2506. Each boardgroup 2504-2506 has a separate JTAG bus 2508-2510 that is coupled to adevice referred to as a Partitioning Falling Edge Router (PFER) 2512.The PFER 2512 is interfaced to a JTAG controller 106 via JTAG bus 608.The PFER 2512 can have any number of separate JTAG buses 2508-2510interfaced to any number of separate board groups 2504-2506. As can beseen, the PFER 2512 allows systems 2502 with large numbers of boards 602a-602 c to partition the boards into a separate board groups 2504-2506,each group containing only a subset of the overall number of systemboards. The JTAG controller 106 can access the JTAG bus 2508-2510 of anyboard group 2504-2506 by communication to the PFER 2512. Thus the PFER2512 solves the system bus 608 loading problem mentioned above byproviding separate low load busses 2508-2510 to separate system boardgroups 2504-2506.

It should be understood that while the system 2502 of FIG. 25 isdescribed as being a system containing multiple FER 1402 equipped boardgroups 2504-2506 coupled to a PFER 2512, the system 2502 could also be;(1) a board containing multiple FER 1402 equipped IC groups 2504-2506coupled to a PFER 2512, (2) an IC containing multiple FER 1402 equippedembedded core circuit groups 2504-2506 coupled to a PFER 2512, or (3) acore circuit containing multiple FER 1402 equipped further core circuitgroups 2504-2506 coupled to a PFER 2512. This will be the case for othersimilar figures in this disclosure.

FIG. 26 illustrates an example implementation of PFER 2512. The PFER2512 is the same as the FER 1402 of FIG. 17 with the exceptions that;(1) multiplexer 1704 has been removed from the TDO output path from theRouting Circuit 1502 which allows the TDO output 1710 from the RoutingCircuit to be directly input to TDO buffer 1702, and (2) a multiplexer2602 has been inserted in the TDI input path to the Routing Circuit1502. Multiplexer 2602 inputs the TDI input signal from bus 608, the TDOoutput signal 1708 from the shift register 1804 of Falling EdgeController 1404, the Shift signal from the Falling Edge Controller 1404,and outputs a TDI signal to the Routing Circuit 1502.

During falling edge scan operations, TDI data is shifted into the shiftregister 1804 of Falling Edge Controller 1404 and TDO data 1708 isshifted from the shift register 1804. During shifting, multiplexer 2602is controlled by the Shift signal to allow the TDO data 1708 from theFalling Edge Controller's shift register to be input to the RoutingCircuit 1502. The data 1708 input to the Routing Circuit frommultiplexer 2602 is output on the TDI data output of one or more JTAGbuses 2508-2510. Also during the falling edge scan operation, the TDO ofbus 608 is driven by the TDO data output 1710 from a currently selectedFER 1402 of one of the JTAG buses 2508-2510.

Referring back to FIG. 25, it can be seen that when the JTAG controller106 performs a falling edge scan operation, TDI data from the JTAGcontroller passes through the shift register 1804 of the PFER's FallingEdge Controller 1404 to be input to the shift registers 1804 of the FERs1402 of one or more board groups 2504-2506 via JTAG buses 2508-2510.Also during the falling edge scan operation, TDO data from the shiftregister 1804 of the currently enabled FER 1402 of a board group2504-2506 is input to the Routing Circuit 1502 of the PFER 2512 andoutput to the JTAG controller 106 via the TDO signal of bus 608. The TDIdata input to the PFER's shift register 1804 contains addressinformation to enable the PFER, as described in FIGS. 17-20, and selectinformation to select one or more of the JTAG buses 2508-2510 asdescribed in FIGS. 18-21. The TDI data input to the shift register 1804of the FERs 1402 contains address information to enable one of the FERs,as described in FIGS. 17-20, and select information to select one ormore of the JTAG device strings 606 coupled to the enabled FER asdescribed in FIGS. 18-21. Simply put, the PFER 2512 is a circuit thatlies in series between the JTAG controller 106 and the FERs 1402 of theboard groups 2504-2506 that responds to falling edge scan operations toaccess one or more of the board groups 2504-2506 via JTAG buses2508-2510. The Routing Circuit 1502 of the PFER can serially concatenateboard group busses 2508-2510 together to allow board groups to beaccessed simultaneously, as described in the Routing Circuit 1502description of FIGS. 21 and 22.

FIG. 27 is provided to illustrate the operational states and timing ofthe Routers (R) (i.e. PFER 2512 and FER 1402) and the device TAPs (DT)202 in device string domains 606 of FIG. 25. The operational statesconsist of; (1) a state 2702 where both the Routers (1402 and 2512) andDTs 202 are in a reset state (DTs in the Test Logic Reset state of FIG.4 and the Routers in the Reset state of FIG. 20) in response to the TRSTsignal or logic values input on TMS, (2) a state 2704 where both theRouters and the DTs 202 are in an idle state (DTs in the Run Test/Idle,Pause-DR or Pause-IR state of FIG. 4 and the Routers in the Idle stateof FIG. 20) in response to logic values input on TMS, (3) a state 2706where communication occurs to the Routers while the DTs are idle inresponse to logic values input on TMS, and (4) a state 2708 wherecommunication occurs to the DTs 202 while the Routers are idle inresponse to logic values input on TMS.

Timing diagram 2710 illustrates that logic values input on TMS,indicated by darkened time slots, during the rising and falling edges ofTCK in state 2704 maintain the Routers and DTs 202 in the idle state2704. In the idle state 2704, no data input or data output occurs on TDIand TDO respectively, also indicated by darkened fill in timing diagram2710.

Timing diagram 2712 illustrates that values input on TMS (not darkened)during the falling edge of TCK in state 2706 enables the PFER 2512 toinput data from a JTAG controller 106 and pass the data on to the TDIinputs of the FERs 1402, while TDO data from the currently enabled FER1402 is input to the TDO input of the PFER 2512 to be passed on to theTDO input of the JTAG controller 106. During this falling edge scanoperation, idle values are input on TMS (darkened) during the risingedge of TCK to maintain the DTs 202 in an idle state.

Timing diagram 2714 illustrates that values input on TMS (not darkened)during the rising edge of TCK in state 2708 enables the selected string606 of one or more DTs 202 to input TDI data from a JTAG controller 106via the PFER 2512 and FER 1402 and to output TDO data to the JTAGcontroller via the FER 1402 and PFER 2512. During this rising edge DT202 string scan operation, idle values are input on TMS (darkened)during the falling edge of TCK to maintain the Routers (PFER and FER) inan idle state.

FIG. 28 illustrates a system 2802 comprising FER 1402 equipped boards602 in separate board groups 2804-2810. The FERs 1402 of board group2804 are coupled to a first selectable JTAG bus 2812 of a first PFER2816 and the FERs of board group 2806 are coupled to a second selectableJTAG bus 2814 of the first PFER 2816. The FERs 1402 of board group 2808are coupled to a first selectable JTAG bus 2818 of a second PFER 2822and the FERs of board group 2810 are coupled to a second selectable JTAGbus 2820 of the second PFER 2822. The JTAG bus of the first PFER 2816 iscoupled to a first selectable JTAG bus 2824 of a third PFER 2828 and theJTAG bus of the second PFER 2822 is coupled to a second selectable JTAGbus 2826 of the third PFER 2828. The JTAG bus of the third PFER 2828 iscoupled to a JTAG controller 106 via JTAG bus 608.

Access to a device string 606 of a board 602 in board group 2804 isachieved by the JTAG controller 106 performing a falling edge scanoperation, as previously described, to shift address and selectioninformation into the shift register 1804 of the third PFER 2828, theshift register 1804 of the first PFER 2816 and the shift registers 1804of the FERs 1402 of board group 2804. The FER 1402 having an addressthat matches the address shifted into its shift register 1804 is enabledto allow the JTAG controller 106 to access the selected device string606 of the selected board 602 in the selected board group 2804 via thethird PFER 2828, the first PFER 2816, and the enabled FER 1402, usingrising edge JTAG scan operations.

Access to a device string 606 of a board 602 in board group 2806 isachieved by the JTAG controller 106 performing a falling edge scanoperation, as previously described, to shift address and selectioninformation into the shift register 1804 of the third PFER 2828, theshift register 1804 of the first PFER 2816 and the shift registers 1804of the FERs 1402 of board group 2806. The FER 1402 having an addressthat matches the address shifted into its shift register 1804 is enabledto allow the JTAG controller 106 to access the selected device string606 of the selected board 602 in the selected board group 2806 via thethird PFER 2828, the first PFER 2822 and the enabled FER 1402, usingrising edge JTAG scan operations.

Access to a device string 606 of a board 602 in board group 2808 isachieved by the JTAG controller 106 performing a falling edge scanoperation, as previously described, to shift address and selectioninformation into the shift register 1804 of the third PFER 2828, theshift register 1804 of the second PFER 2822 and the shift registers 1804of the FERs 1402 of board group 2808. The FER 1402 having an addressthat matches the address shifted into its shift register 1804 is enabledto allow the JTAG controller 106 to access the selected device string606 of the selected board 602 in the selected board group 2808 via thethird PFER 2828, the second PFER 2822, and the enabled FER 1402, usingrising edge JTAG scan operations.

Access to a device string 606 of a board 602 in board group 2810 isachieved by the JTAG controller 106 performing a falling edge scanoperation, as previously described, to shift address and selectioninformation into the shift register 1804 of the third PFER 2828, theshift register 1804 of the second PFER 2822 and the shift registers 1804of the FERs 1402 of board group 2810. The FER 1402 having an addressthat matches the address shifted into its shift register 1804 is enabledto allow the JTAG controller 106 to access the selected device string606 of the selected board 602 in the selected board group 2810 via thethird PFER 2828, the second PFER 2822, and the enabled FER 1402, usingrising edge JTAG scan operations.

As seen in FIG. 28, there can be multiple arrangements 2830 of boardgroups 2804-2806 coupled to a PFER 2816 and board groups 2808-2810coupled to a PFER 2822. The PFER of each arrangement 2830 can beuniquely addressed using falling edge scan operations to allow the JTAGcontroller 106 to access a selected device string 606 of a selected FER1402 using rising edge JTAG scan operations as described above.

Also as seen in FIG. 28, PFERs can be arranged in a hierarchical fashionwhich extends the access of a JTAG controller 106 to device strings 606of remotely positioned boards 602.

FIG. 29 illustrates a system 2902 comprising FER 1402 equipped boards inseparate board groups 2904, 2906 and 2908. The FERs 1402 of board group2904 are coupled directly to a JTAG controller 106 via bus 608. The FERsof board groups 2906 and 2908 are coupled to the JTAG controller 106 viaa PFER 2512 as previously described. In this arrangement the JTAGcontroller 106 can perform a falling edge scan operation to directlyaccess a board in board group 2904, or to access a board in one or bothof board groups 2906-2908 via the PFER 2512. As seen, FERs 1402 and PFER2512 can compatibly exist on the same bus 608 to a JTAG controller 106.

FIG. 30 illustrates a system 3002 comprising strings 3004 and 3006 ofone or more devices 3008 coupled to a PFER 2512. The PFER is coupled toa JTAG controller 106 via bus 608. The devices 3008, as shown in FIG.31, are designed to include both rising edge circuitry (REC) 3102 andfalling edge circuitry (FEC) 3104 coupled to the devices TDI, TCK, TMSand TDO signal leads. The rising edge circuitry 3102 includes the JTAGTAP 202 and optionally other types of circuitry. During rising edge TCKscan operations, the rising edge circuitry 3102 inputs data from TDI andoutputs data on TDO. During falling edge TCK scan operations, thefalling edge circuitry 3104 inputs data from TDI and outputs data onTDO. Examples of devices 3008 that include both rising and falling edgecircuitry are described in pending patent disclosures TI-66079, TI-66140and TI-68392 all incorporated herein by reference.

It should be understood that the system 3002 of FIG. 25 could be; (1) aboard containing multiple strings of rising and falling edge operated ICdevices 3008 coupled to a PFER 2512, (2) an IC containing multiplerising and falling edge operated embedded core circuit devices 3008coupled to a PFER 2512, or (3) a core circuit containing multiple risingand falling edge operated further core circuit devices 3008 coupled to aPFER 2512. This will be the case for other similar figures in thisdisclosure.

FIG. 32 illustrates a larger system 3202 comprising multiple systems3002, each system 3002 having a PFER 2512 coupled to a JTAG controller106 via bus 608. The JTAG controller 106 can access any one of thesystem 3002 device strings 3004-3006 via the system's 3002 PFER 2512.The JTAG controller 106 can also access a series of concatenated devicestrings 3004-3006 of a selected system 3002 via the system's PFER 2512.

FIG. 33 illustrates a further larger system 3302 comprising separategroups 3304-3308 of larger systems 3202, each separate group 3304-3308of larger systems 3202 being coupled to a PFER 2512 via separate busses3310-3314. The PFER 2512 of the further larger system 3302 is coupled toa JTAG controller 106 via bus 608. The JTAG controller 106 can accessany one or more of the larger systems 3202 in the separate groups3304-3308 by communicating with the PFER 2512 of further larger system3302 using falling edge scan operations.

FIG. 34 illustrates a device 3402, which in this example is an IC or anembedded core within an IC, comprising individually selectable TAP 202circuit domains 3404-3408. TAP circuit domain 3404 is the JTAG boundaryscan TAP 202 of the IC or core 3402, TAP circuit domain 3406 is a TAP202 of a first core circuit within the IC or core 3402, and TAP circuitdomain 3408 is a TAP of a second core circuit within the IC or core3402. Each TAP 3404-3408 is coupled to a selectable JTAG bus of a FER1402 via a control bus (C) consisting of a TMS and a TCK signal, aninput bus (I) consisting of a TDI signal, and an output bus (O)consisting of a TDO signal. The FER 1402 is coupled to a JTAG controller106 via a JTAG bus 608. In response to a falling edge scan operation,the FER 1402 can couple one of the TAP circuits 3404-3408 to the JTAGcontroller 106, as previously described, so it can be access by the JTAGcontroller during a rising edge JTAG scan operation. The JTAG boundaryscan TAP 3404 is accessed to perform JTAG test operations on the device3402. The Core TAP 3406 is accessed to perform test, debug, and/oremulation operations on the associated core of the device 3402. Core TAP3408 is accessed to perform test, debug and/or emulation operations onthe associated core 3408 of the device 3402. As previously described,the FER 1402 may serially concatenate multiple TAP circuit domains3404-3408 together so that they can simultaneously perform an operationduring a rising edge JTAG scan operation.

FIG. 35 illustrates a system 3502, which could be a board, an IC, or acore circuit within an IC, comprising multiple FER 1402 equipped devices3402. The JTAG bus of each FER 1402 of each device 3402 are connectedtogether (TDI to TDI, TMS to TMS, TCK to TCK, and TDO to TDO) and to aJTAG controller 106 via bus 608. The JTAG controller 106 can access anyone of the TAPs 3404-3406 in any one device 3402 via the device's FER.The JTAG controller 106 can also access any serial combination of TAPs3404-3408 in a device 3402 via the device's FER.

FIG. 36 illustrates a system 3602, which could be a board, an IC, or acore circuit within an IC, comprising separate groups 3604-3608 ofdevices 3402, each separate group 3604-3608 of devices 3402 beingcoupled to a PFER 2512 via separate busses 3610-3614. The PFER 2512 ofthe system 3602 is coupled to a JTAG controller 106 via bus 608. TheJTAG controller 106 can access any one or more of the devices 3402 inthe separate groups 3604-3608 by communicating with the PFER 2512 of thesystem 3602 and the FER 1402 of the devices using falling edge scanoperations as previously described.

FIG. 37 illustrates a device 3702, which in this example is an IC or anembedded core within an IC, comprising individually selectable modifiedTAP circuit domains 3704-3708. The modified TAP circuit domains3704-3708, as shown in FIG. 38, are designed to include both rising edgecircuitry (REC) 3802 and falling edge circuitry (FEC) 3804 coupled tothe devices TDI, TCK, TMS and TDO signal leads. The rising edgecircuitry 3802 includes the JTAG TAP 202 and optionally other types ofcircuitry. During rising edge TCK scan operations, the rising edgecircuitry 3802 inputs data from TDI and outputs data on TDO. Duringfalling edge TCK scan operations, the falling edge circuitry 3104 inputsdata from TDI and outputs data on TDO. Examples of modified TAP circuitdomains 3704-3708 that include both rising and falling edge circuitryare described in aforementioned pending patent disclosures TI-66079,TI-66140 and TI-68392.

Modified TAP circuit domain 3704 operates as a JTAG TAP 202 to performJTAG boundary scan test operations in device 3702 during rising edgescan operations and operates as another circuit to perform otheroperations during falling edge scan operations. Modified TAP circuitdomain 3706 operates as a JTAG TAP 202 to perform test, debug and/oremulation operations on the associated core during rising edge scanoperations and operates as another circuit to perform other types ofoperations on the associated core during falling edge scan operations.Modified TAP circuit domain 3708 operates as a JTAG TAP 202 to performtest, debug and/or emulation operations on the associated core duringrising edge scan operations and operates as another circuit to performother types of operations on the associated core during falling edgescan operations.

Each modified TAP domain 3704-3708 is coupled to a separate JTAG bus ofa PFER 2512 via a control bus (C) consisting of a TMS and a TCK signal,an input bus (I) consisting of a TDI signal, and an output bus (O)consisting of a TDO signal. The PFER 2512 is coupled to a JTAGcontroller 106 via a JTAG bus 608. During falling edge scan operations,TDI data from the JTAG controller 106 is communicated through the shiftregister 1804 of the PFER 2512 and into to the falling edge circuitry3804 of a selected modified TAP domain 3704-3708, while TDO data fromthe selected modified TAP domain is communicated through the RoutingCircuit 1502 of the PFER 2512 to the TDO input of the JTAG controller106. During rising edge scan operations, TDI data from the JTAGcontroller 106 is communicated through the Routing Circuit 1502 of thePFER 2512 and into to the rising edge circuitry 3802 of a selectedmodified TAP domain 3704-3708, while TDO data from the selected modifiedTAP domain 3704-3708 is communicated through the Routing Circuit 1502 ofthe PFER 2512 to the TDO input of the JTAG controller 106. As previouslydescribed, the Routing Circuit 1502 of the PFER 2512 can serialconcatenate multiple modified TAP domains 3704-3708 together to allowthe multiple modified TAP domains 3704-3708 to operate simultaneouslyduring either a rising edge scan operation or a falling edge scanoperation.

FIG. 39 illustrates a system 3902, which could be a board, an IC, or acore circuit within an IC, comprising multiple PFER 2512 equippeddevices 3702. The JTAG bus of each PFER 2512 of each device 3702 areconnected together (TDI to TDI, TMS to TMS, TCK to TCK, and TDO to TDO)and to a JTAG controller 106 via bus 608. The JTAG controller 106 canaccess any one of the modified TAP domains 3704-3706 in any one device3702 via the device's PFER. The JTAG controller 106 can also access anyserial combination of modified TAP domains 3704-3708 in a device 3702via the device's PFER.

FIG. 40 illustrates a system 4002, which could be a board, an IC, or acore circuit within an IC, comprising separate groups 4004-4008 ofdevices 3702, each separate group 4004-4008 of devices 3702 beingcoupled to a PFER 2512 via separate busses 4010-4014. The PFER 2512 ofthe system 4002 is coupled to a JTAG controller 106 via bus 608. TheJTAG controller 106 can access any one or more of the devices 3702 inthe separate groups 4004-4008 by communicating with the PFER 2512 ofsystem and the PFER 2512 of the devices 3702 using rising and fallingedge scan operations as previously described.

FIG. 41 illustrates an example implementation of a Configurable FallingEdge Router (CFER) 4102 that is programmable, via a Mode signal, tooperate as either the FER 1402 or the PFER 2512. The CFER 4102 has amodified Falling Edge Controller 1404, a Routing Circuit 1502,multiplexer 2602, multiplexer 1702, And gate 4108, And gate 4112 and TDOoutput buffer 1702. The Falling Edge Controller 1404 of FIG. 18 ismodified in FIG. 41 to include a Mode output signal 4110. The Modeoutput signal 4110 controls whether the CFER 4102 operates as a FER 1404or a PFER 2512.

FIG. 42 illustrates an example modification of the Falling EdgeController 1404. The modification is simply to extend the shift register1804 of the Falling Edge Controller 1404 to include a bit position 4202for inputting the Mode signal 4110 and to extend the update register1806 of the Falling Edge Controller to include a bit position 4204 foroutputting the Mode signal 4110.

When the Mode signal 4110 is set low, the Shift signal from the FallingEdge Controller 1404 passes through And gate 4108 during falling edgescan operations (i.e. during the Shift state of FIG. 20) to allow thedata output 1708 from Shift register 1804 to be output on TDO of bus608, via multiplexer 1704. Also when the Mode signal 4110 is set low,And gate 4112 forces multiplexer 2602 to pass the TDI signal of bus 608to the Routing Circuit 1502. In this configuration, the CFER 4102operates identical to the FER 1402 of FIG. 17.

When the Mode signal 4110 is set high, And gate 4108 forces themultiplexer 1704 to output the TDO data 1710 from the Routing Circuit1502 to the TDO of bus 608 during falling edge scan operations. Alsowhen the Mode signal 4110 is set high, the Shift signal from the FallingEdge Controller 1404 passes through And gate 4112 during falling edgescan operations (i.e. during the Shift state of FIG. 20) to allow thedata output 1708 from Shift register 1804 to be input to the RoutingCircuit 1502, via multiplexer 2602. In this configuration, the CFER 4102operates identical to the PFER 2512 of FIG. 26.

As seen in dotted line, And gate 4112 may be removed from the CFER 4102to allow the Shift signal from the Falling Edge Controller 1404 to bedirectly connected to the control input of multiplexer 2602. While thischanges the operation of the CFER 4102 from being identical to the FER1402, since the data output 1708 from Shift register 1804 during theShift state of FIG. 20 is input to the Routing Circuit instead of theTDO data of bus 608, it does not affect the ability of the CFER 4102 tooperate as a FER 1402.

FIG. 43 illustrates a system 4301 with a CFER 4102 operating as a FER1402 to interface a JTAG controller 106 to a first device or devicestring 4302 and a second device or device string 4304. The Mode signal4110 of the CFER 4102 is set low to enable this operation mode.Preferably, but not necessarily, according to the disclosure, the Modesignal 4110 is set low in response to a TRST signal input to the updateregister 1806, to allow the CFER 4102 to be immediately configured as aFER 1402 in response to the TRST signal. The TRST signal input to theupdate register 1806 may occur in response to an external TRST input ofFIG. 18, entry into the Reset state of FIG. 20, or by a power up resetcircuit associated with CFER 4102. The advantage of having the Modesignal 4110 initially set low is that the CFER 4102 is immediatelyavailable for use as a FER 1402 to allow a JTAG controller 106 to accessa device or device string 4302-4304. The system 4301 may be a board, anIC or an embedded core circuit within an IC.

FIG. 44 illustrates a further system 4401 with a CFER 4402 interfacing aJTAG controller 106, to multiple systems 4301 of FIG. 43. The Modesignal of CFER 4402 is set high to enable it to operate as a PFER 2512,and the Mode signals of CFERS 4404-4406 in systems 4301 are set low toenable them to operate as FERs 1402. If the Mode signal 4110 of CFER4402 is initially set low after a TRST signal input as described in FIG.43, an initial falling edge scan operation to the CFER 4402 from theJTAG controller 106 will be necessary to configure CFER 4402 to operateas a PFER 2512. The further system 4401 may be a board, an IC or anembedded core circuit within an IC.

As seen in FIGS. 43 and 44, the advantage of the CFER 4102 over aseparate FER 1402 and PFER 2512 is that only one product, the CFER 4102,need be provided by a semiconductor manufacturer to support thefunctionality of both the FER 1402 and PFER 2512. Customers purchasingthe CFER 4102 can selectively use the CFER 4102 in their systems aseither a FER 1402 or PFER 2512.

FIG. 45 illustrates a JTAG controller 106 TDI connection to shiftregisters 1804 in FERs 4502-4504, which can be FERs 1402 or CFERs 4102.The purpose of this illustration is to show the advantage of using equallength shift registers 1804 in FERs 4502-4504. Assuming the shiftregisters 1804 are designed to have the same fixed number of bits, theJTAG controller 106 simply inputs the fixed number of bits to the shiftregisters 1804 via TDI during the Shift state of FIG. 20 to enable oneof the FERs 4502-4504 and select a device 104 or device string 606coupled to the enabled FER 4502-4504. If the shift registers 1804 haddifferent bit lengths the JTAG controller would have to shift in adifferent number of bits each time a different FER is to be enabled foraccessing a device 104 or device string 606, which complicates the JTAGcontroller software. Also if the shift registers 1804 had different bitlengths it opens up the possibility that two or more FERs 4502-4504 mayaccidently be addressed and enabled together. This would be due to a bitpattern shifted into a shift register 1804 of a desired FER 4502-4504 tobe addressed and enabled having a subset bit pattern that also addressesand enables a non-desired FER 4502-4504.

FIG. 46 illustrates a JTAG controller 106 TDI connection to shiftregisters 1804 in PFERs 4602-4604, which can be PFERs 2512 or CFERs4102. The PFERs 4602-4604 each pass the TDI data from the JTAGcontroller onto a group of connected FERs 4502-4504. The purpose of thisillustration is to show the advantage of using equal length shiftregisters 1804 in both the PFERs 4602-4604 and FERs 4502-4504. Assumingthe shift registers 1804 of both the PFERs 4602-4604 and FERs 4502-4504are designed to have the same fixed number of bits, the JTAG controller106 simply performs a scan operation containing the fixed number of bitsfor the shift registers 1804 in the PFERs and the fixed number of bitsfor the shift registers 1804 in the connected FERs to address and enablea selected PFER 4602-4604 and one or more of its connected FERs4502-4504. If the shift registers 1804 of the PFERs 4602-4604 and FERs4502-4504 had different bit lengths the JTAG controller would have toshift in a different number of bits each time a different PFER and FERcombination is to be enabled for accessing a device 104 or device string606, which complicates the JTAG controller software. Also if the shiftregisters 1804 of the PFER and FER had different bit lengths it opens upthe possibility that two or more PFER and FER combinations mayaccidently be addressed and enabled together. This would be due to a bitpattern shifted into the shift registers 1804 of a desired PFER and FERcombination to be addressed and enabled having a subset bit pattern thatalso addresses and enables a non-desired PFER and FER combination.

According to the disclosure, the shift registers 1804 of both the PFERs4602-4604 and FERs 4502-4504 should preferably be fixed at the samelength. However, the fixed shift register length of the PFERs 4602-4604may be different from the fixed shift register length of the FERs4502-4504 if desired without incurring the above mentioned problem.

While this disclosure has described use of a FER 1402, PFER 2512, orCFER 4102 that operates in response to the falling edge of TCK to accessa rising edge TCK operated JTAG port on a device or device string, thedisclosure is not limited to accessing only JTAG ports. In general, therouter of this disclosure can be used to access any type of clockeddevice port by using the inactive edge of the ports clock, as describedin following FIGS. 47 and 48.

FIG. 47 illustrates a system 4701 comprising an Inactive Edge Router4706 and Active Edge Ports 4702-4704. The Active Edge Ports 4702-4704may be any type of input/output port that exists within the system 4701.The system 4701 may be a board, an IC, or an embedded core circuitwithin an IC. A Port Controller 4708, which may be any type of portcontroller, is coupled to the Inactive Edge Router 4706 via a bus 4710comprising a data input (DI) signal in place of the TDI signal, a clock(CK) signal in place of the TCK signal, a mode select (MS) signal inplace of the TMS signal, and a data output (DO) signal in place of theTDO signal. The Active Edge Ports 4702 and 4704 are coupled to theInactive Edge Router 4706 via buses 4712 and 4714 respectively. Each bus4712 and 4714 comprises a DI signal, a CK signal, a MS signal, and a DOsignal. The words “Active Edge” indicates the CK edge the port uses toperform its input/output operation. The words “Inactive Edge” indicatesthe CK edge the Router 4706 uses to couple Active Edge Port 4702 and/orActive Edge Port 4704, via buses 4712 and 4714, to the Port Controller4708 via bus 4710. If the “Active Edge” is the rising edge of the CKsignal the “Inactive Edge” is the falling edge of the CK signal. If the“Active Edge” is the falling edge of the CK signal the “Inactive Edge”is the rising edge of the CK signal. In this example, the operation ofthe Inactive Edge Router 4706 is assumed to be the same as the FallingEdge Router 1402 described in regard to FIGS. 17-23. FIG. 49Aillustrates one example implementation of the Inactive Edge Router 4706which is based on the FER 1402 architecture of FIG. 17. Using theInactive Edge Router 4706 the Port Controller 4708 can perform an“Inactive Edge” scan operation, as previously described using “FallingEdge” scan operations, to select one or more of the Active Edge Ports tobe accessed using “Active Edge” scan operations.

FIG. 48 illustrates a further system 4802 comprising a PartitioningInactive Edge Router 4804 and first and second systems 4701. The furthersystem 4802 may be a board, an IC, or an embedded core circuit within anIC. The Port Controller 4708 is coupled to the Partitioning InactiveEdge Router 4804 via a bus 4710 comprising a DI signal, a CK signal, aMS signal, and a DO signal. The systems 4701 are coupled to thePartitioning Inactive Edge Router 4804 via buses 4806 and 4808respectively. Each bus 4806 and 4708 comprises a DI signal, a CK signal,a MS signal, and a DO signal. The definitions of wordings “Active Edge”and “Inactive Edge” are the same as mentioned in FIG. 47. In thisexample, the operation of the Partitioning Inactive Edge Router 4804 isassumed to be the same as the Partitioning Falling Edge Router 2512described in regard to FIGS. 26 and 27. FIG. 49B illustrates one exampleimplementation of the Partitioning Inactive Edge Router 4804 which isbased on the PFER 2502 architecture of FIG. 26. Using the PartitioningInactive Edge Router 4804 the Port Controller 4708 can perform an“Inactive Edge” scan operation, as previously described using “FallingEdge” scan operations, to select one or more of the Active Edge Ports4702-4704 in one or more of the systems 4701 to be accessed using“Active Edge” scan operations.

It should be understood that a Configurable Inactive Edge Router couldbe designed and used in place of the Inactive Edge Router 4706 andPartitioning Inactive Edge Router 4804 of FIGS. 47 and 48, as theConfigurable Falling Edge Router 4102 was described replacing theFalling Edge Router 1402 and Partitioning Falling Edge Router 2512 inFIGS. 41-44. FIG. 49C illustrates one example implementation of aConfigurable Inactive Edge Router 4902 which is based on the CFER 4102architecture of FIG. 41.

The Inactive Edge Controllers 1404 in the Inactive Edge Routers of FIGS.49A-49C will be designed to operate on the opposite clock edge thatoperates the Active Edge Ports 4702-4704. This can be achieved by simplyincluding or excluding inverter 1810 of FIG. 18 on the CK input to theInactive Edge Controllers 1404.

Although the disclosure has been described in detail, it should beunderstood that various changes, substitutions and alterations may bemade without departing from the spirit and scope of the disclosure asdefined by the appended claims.

What is claimed is:
 1. A falling edge controller comprising: A. acontroller having an inverted TCK input, a TMS input, a shift registercontrol output, an update register control output, and a shift output;B. a shift register having a TDI input, a shift register control inputcoupled to the shift register control output, address inputs, a selectinput, address and select outputs, and a TDO output; C. an updateregister having address and select inputs coupled to the address andselect outputs, an update register control input coupled to the updateregister control output, address outputs coupled to the address inputs,and a select output coupled to the select input; and D. addresscircuitry having address inputs coupled to the address outputs, andhaving an enable output.
 2. The falling edge controller of claim 1including an inverter having a TCK input and an inverted TCK outputcoupled to the inverted TCK input.
 3. The falling edge controller ofclaim 1 in which the address circuitry includes a serial address input.4. The falling edge controller of claim 1 in which the controllerincludes a TRST input and a TRST output, and the update registerincludes a TRST input coupled to the TRST output.